package com.bookmall.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bookmall.common.utils.PageUtils;
import com.bookmall.product.domain.BookCategory;

import java.util.List;

/**
 *
 * @Author 胡菜鸡
 * @Create 2022-02-21-17:00
 */
public interface IBookCategoryService extends IService<BookCategory> {
    /**
     * 根据实体类分页查询分类列表
     * @author 胡菜鸡
     * @date 2022/2/21 18:30
     */
    PageUtils selectCategoryList(BookCategory bookCategory);

    /**
     * 获取所有分类（以树形列表返回）
     * @author 胡菜鸡
     * @date 2022/2/21 22:29
     */
    List<BookCategory> listWithTree(BookCategory bookCategory);

    /**
     * 获取所有展示的分类（以树形列表返回）
     * @author 胡菜鸡
     * @date 2022/2/22 17:12
     */
    List<BookCategory> listWithTreeForStatus();

    /**
     * 获取分类下的所有子分类
     * @author 胡菜鸡
     * @date 2022/3/12 16:35
     */
    List<BookCategory> getChildrenCategory(String categoryId);

    /**
     * 根据id删除分类
     * @author 胡菜鸡
     * @date 2022/2/22 16:01
     */
    int removeCategoryByIds(List<String> ids);

    /**
     * 检查当前分类是否存在子分类
     * @author 胡菜鸡
     * @date 2022/2/22 16:02
     */
    boolean hasChildrenCategory(String id);

    /**
     * 新增分类
     * @author 胡菜鸡
     * @date 2022/2/22 16:46
     */
    int insertCategory(BookCategory bookCategory);

    /**
     * 根据id修改分类
     * @author 胡菜鸡
     * @date 2022/2/22 17:17
     */
    int updateCategoryById(BookCategory bookCategory);

    /**
     * 查询书籍一级分类
     * @author 胡菜鸡
     * @date 2022/3/17 17:55
     * @param
     * @return
     */
    List<BookCategory> getLevel1Categorys();

}
